/**
 * 数组 有序列表组成的数据结构 可迭代的
 */
//1.数组创建 直接字面量[] 特点：数组元素可以是任意数据类型
//var arr = ['hello',10,true,null,undefined,{name:'Tom'}];
//console.log(arr);
//2.访问数组元素 下标/索引 从0开始
//console.log(arr[4]);

/**
 * 数组api
 * 1.pop 从数组元素末尾删除一个数组元素 
 */
//arr.pop();
//console.log(arr);
/**
 * 2.push 从数组末尾添加数组元素
 */
//arr.push('terry','larry');
//console.log(arr);

/**
 * 3.shift 从数组头部开始删除一个数组元素
 */
//arr.shift();
//console.log(arr);

/**
 * 4.unshift 从数组头部开始添加数组元素
 */
//arr.unshift('terry','larry');
//console.log(arr);

/**
 * 5.splice指定位置删除或者增加数组元素
 * 参数:indec howmany(0/正数) xxx xxx
 */
//var arr = ['hello',10,true,null,undefined];
//指定位置删除
//arr.splice(2,2);
//console.log(arr);


//指定位置增加数组元素 terry larry
//arr.splice(2,0,'terry','larry');
//console.log(arr);

/**
 * 迭代方法 every some filter map forEach
 */

/**
 * map 映射每一个数组元素
 */

//var arr = [10,20,30,40,50];
//var result = arr.map(function(item,index,arr){
    //item 表示数组每一项
    //index 数组每一项对应的索引
    //arr 数组本身
    //console.log(item,index,arr,'------')
    //return item + 10
//});
//console.log(result,'返回值')

/**
 * filter 过滤符合条件的数组元素
 */
//var arr = [10,20,30,40,50];
//var result = arr.filter(function(item,index,arr){
    //return item>30
//});
//console.log(result)

/**
 * foreach 循环遍历数组元素 for循环加强版
 * 没有返回值 不需要return
 */

//var arr = [10,20,30,40,50];

//for(let i=0; i<Array.length;i++){
   // console.log(arr[i])
//}
//for(let index in arr){
   // console.log(arr[index])
//}
//arr.keys();
//arr.values();
//for(let ind of arr){
   // console.log(arr[ind])
//}
//var arr = [10,20,30,40,50];
//arr.forEach(function(item,index,arr){
    //item = item + 1;
   // console.log(item);
//});

//数组创建 构造函数
let arr1 = new Array('terrry','larry');
//let arr2 = new Array(10);
//let arr3 = new Array(10.1);//报错
console.log(arr1);



